//权限
import router from './router'
import { useUserStore } from './store/user'
import { message } from 'ant-design-vue'
import NProgress from 'nprogress'
import { profile } from '@/api/user'
//进入前
router.beforeEach((to, from, next) => {
  NProgress.start()
  const useUser = useUserStore()
  const { token } = useUser
  if (token) {
    //存在token
    if (to.path === '/login') {
      //提示已经是登录状态，要退出
      message.warning('请重新登录')
      next(from.path)
    } else {
      //这边可以判断角色信息是否存在
      profile()
        .then((res) => {
          console.log(res)
          if (!res.roles || res.roles.length === 0 || !res.status) {
            message.confim('没有权限')
          }
          //更新到pinia的store中
          useUser.updateInfo(res)
        })
        .catch((e) => {
          console.log(e)
        })
      next()
    }
  } else {
    //判断是否去除过login的页面
    if (to.path !== '/login') {
      message.warning('暂无权限请登录你的账号和密码')
      next('/login')
    }
  }
  next()
  //检查token是否存在
})
//进入后
router.afterEach(() => {
  NProgress.done()
})
